package com.dys.testrelect02;

/**
 * @className: com.dys.testrelect02.ClassDemo
 * @description: Class类的具体实例有哪些？
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/27 下午9:04
 */
public class ClassDemo {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        /*
         * Class类的具体实例：
         * (1) 类：内部类，外部类
         * (2)接口
         * (3)注解
         * (4)数组
         * (5)基本数据类型
         * (6)void
         * */
        Class<Student> c1 = Student.class;
        System.out.println(c1);
        Class<Comparable> c2 = Comparable.class;
        System.out.println(c2);
        Class<Override> c3 = Override.class;
        System.out.println(c3);
        int[] arr1 = {1, 2, 3, 4, 5};
        Class<? extends int[]> c4 = arr1.getClass();
        System.out.println(c4);
        int[] arr2 = {4, 5, 6, 7, 8, 9};
        Class<? extends int[]> c5 = arr2.getClass();
        System.out.println(c5);
        // 结果为: true: 同一个维度，同一个元素类型，得到的字节码就是同一个
        System.out.println(c4 == c5);
        Class<Integer> c6 = int.class;
        System.out.println(c6);
        Class<Void> c7 = void.class;
        System.out.println(c7);
    }
}
